﻿using System;
using System.Collections;
using System.Xml.Serialization;

namespace PermissionBase.Core.Domain
{
	/// <summary>
	///	前台用户。
	/// </summary>
	public class User
	{
        #region Field Members

        private decimal m_dms_emp_base_id = 0;
        private string m_comp_code = "";
        private string m_emp_code = "";
        private string m_emp_name = "";
        private string m_emp_eng_name = "";
        private string m_emp_prename = "";
        private string m_emp_organ = "";
        private string m_emp_sex = "";
        private decimal m_emp_height = 0;
        private string m_emp_nation = "";
        private string m_emp_educate = "";
        private string m_emp_culture_bz = "";
        private DateTime m_emp_birthday = System.DateTime.Now;
        private string m_emp_poliback = "";
        private string m_emp_marry = "";
        private string m_emp_native = "";
        private string m_emp_health = "";
        private string m_emp_address = "";
        private string m_postcode = "";
        private string m_emp_police = "";
        private string m_emp_personcode = "";
        private string m_emp_homehold = "";
        private string m_emp_addtel = "";
        private string m_emp_mobile = "";
        private DateTime m_emp_gradtetime = System.DateTime.Now;
        private string m_emp_school = "";
        private DateTime m_emp_date_job = System.DateTime.Now;
        private DateTime m_emp_date_office = System.DateTime.Now;
        private string m_emp_specialsub = "";
        private string m_emp_special = "";
        private string m_emp_zw = "";
        private DateTime m_date_reg = System.DateTime.Now;
        private string m_emp_reg = "";
        private string m_emp_memo = "";
        private string m_emp_duty = "";
        private string m_flag_delete = "";
        private string m_emp_blood = "";
        private string m_emp_bzdm = "";
        private DateTime m_date_ht_qs = System.DateTime.Now;
        private DateTime m_date_ht_jz = System.DateTime.Now;
        private string m_emp_work_tel = "";
        private string m_emp_work_fax = "";
        private string m_e_mail = "";
        private string m_emp_comp_level = "";
        private string m_emp_pic = "";
        private decimal m_pact_zt = 0;
        private decimal m_emp_safety = 0;
        private string m_emp_zc = "";
        private string m_emp_duty_card = "";
        private string m_pay_grade = "";
        private byte[] m_emp_pic_blob = System.Text.Encoding.Default.GetBytes("0x01");
	    private Staff _staff;
        private Department _department;

        #endregion

        #region Property Members

	    public virtual Staff Staff
	    {
            get { return _staff; }
            set { _staff = value; }
	    }

        [XmlElement(ElementName = "Dms_emp_base_id")]
        public virtual decimal Dms_emp_base_id
        {
            get
            {
                return this.m_dms_emp_base_id;
            }
            set
            {
                this.m_dms_emp_base_id = value;
            }
        }

        [XmlElement(ElementName = "Comp_code")]
        public virtual string Comp_code
        {
            get
            {
                return this.m_comp_code;
            }
            set
            {
                this.m_comp_code = value;
            }
        }

        [XmlElement(ElementName = "Emp_code")]
        public virtual string Emp_code
        {
            get
            {
                return this.m_emp_code;
            }
            set
            {
                this.m_emp_code = value;
            }
        }

        [XmlElement(ElementName = "Emp_name")]
        public virtual string Emp_name
        {
            get
            {
                return this.m_emp_name;
            }
            set
            {
                this.m_emp_name = value;
            }
        }

        [XmlElement(ElementName = "Emp_eng_name")]
        public virtual string Emp_eng_name
        {
            get
            {
                return this.m_emp_eng_name;
            }
            set
            {
                this.m_emp_eng_name = value;
            }
        }

        [XmlElement(ElementName = "Emp_prename")]
        public virtual string Emp_prename
        {
            get
            {
                return this.m_emp_prename;
            }
            set
            {
                this.m_emp_prename = value;
            }
        }

        [XmlElement(ElementName = "Emp_organ")]
        public virtual string Emp_organ
        {
            get
            {
                return this.m_emp_organ;
            }
            set
            {
                this.m_emp_organ = value;
            }
        }

        [XmlElement(ElementName = "Emp_sex")]
        public virtual string Emp_sex
        {
            get
            {
                return this.m_emp_sex;
            }
            set
            {
                this.m_emp_sex = value;
            }
        }

        [XmlElement(ElementName = "Emp_height")]
        public virtual decimal Emp_height
        {
            get
            {
                return this.m_emp_height;
            }
            set
            {
                this.m_emp_height = value;
            }
        }

        [XmlElement(ElementName = "Emp_nation")]
        public virtual string Emp_nation
        {
            get
            {
                return this.m_emp_nation;
            }
            set
            {
                this.m_emp_nation = value;
            }
        }

        [XmlElement(ElementName = "Emp_educate")]
        public virtual string Emp_educate
        {
            get
            {
                return this.m_emp_educate;
            }
            set
            {
                this.m_emp_educate = value;
            }
        }

        [XmlElement(ElementName = "Emp_culture_bz")]
        public virtual string Emp_culture_bz
        {
            get
            {
                return this.m_emp_culture_bz;
            }
            set
            {
                this.m_emp_culture_bz = value;
            }
        }

        [XmlElement(ElementName = "Emp_birthday")]
        public virtual DateTime Emp_birthday
        {
            get
            {
                return this.m_emp_birthday;
            }
            set
            {
                this.m_emp_birthday = value;
            }
        }

        [XmlElement(ElementName = "Emp_poliback")]
        public virtual string Emp_poliback
        {
            get
            {
                return this.m_emp_poliback;
            }
            set
            {
                this.m_emp_poliback = value;
            }
        }

        [XmlElement(ElementName = "Emp_marry")]
        public virtual string Emp_marry
        {
            get
            {
                return this.m_emp_marry;
            }
            set
            {
                this.m_emp_marry = value;
            }
        }

        [XmlElement(ElementName = "Emp_native")]
        public virtual string Emp_native
        {
            get
            {
                return this.m_emp_native;
            }
            set
            {
                this.m_emp_native = value;
            }
        }

        [XmlElement(ElementName = "Emp_health")]
        public virtual string Emp_health
        {
            get
            {
                return this.m_emp_health;
            }
            set
            {
                this.m_emp_health = value;
            }
        }

        [XmlElement(ElementName = "Emp_address")]
        public virtual string Emp_address
        {
            get
            {
                return this.m_emp_address;
            }
            set
            {
                this.m_emp_address = value;
            }
        }

        [XmlElement(ElementName = "Postcode")]
        public virtual string Postcode
        {
            get
            {
                return this.m_postcode;
            }
            set
            {
                this.m_postcode = value;
            }
        }

        [XmlElement(ElementName = "Emp_police")]
        public virtual string Emp_police
        {
            get
            {
                return this.m_emp_police;
            }
            set
            {
                this.m_emp_police = value;
            }
        }

        [XmlElement(ElementName = "Emp_personcode")]
        public virtual string Emp_personcode
        {
            get
            {
                return this.m_emp_personcode;
            }
            set
            {
                this.m_emp_personcode = value;
            }
        }

        [XmlElement(ElementName = "Emp_homehold")]
        public virtual string Emp_homehold
        {
            get
            {
                return this.m_emp_homehold;
            }
            set
            {
                this.m_emp_homehold = value;
            }
        }

        [XmlElement(ElementName = "Emp_addtel")]
        public virtual string Emp_addtel
        {
            get
            {
                return this.m_emp_addtel;
            }
            set
            {
                this.m_emp_addtel = value;
            }
        }

        [XmlElement(ElementName = "Emp_mobile")]
        public virtual string Emp_mobile
        {
            get
            {
                return this.m_emp_mobile;
            }
            set
            {
                this.m_emp_mobile = value;
            }
        }

        [XmlElement(ElementName = "Emp_gradtetime")]
        public virtual DateTime Emp_gradtetime
        {
            get
            {
                return this.m_emp_gradtetime;
            }
            set
            {
                this.m_emp_gradtetime = value;
            }
        }

        [XmlElement(ElementName = "Emp_school")]
        public virtual string Emp_school
        {
            get
            {
                return this.m_emp_school;
            }
            set
            {
                this.m_emp_school = value;
            }
        }

        [XmlElement(ElementName = "Emp_date_job")]
        public virtual DateTime Emp_date_job
        {
            get
            {
                return this.m_emp_date_job;
            }
            set
            {
                this.m_emp_date_job = value;
            }
        }

        [XmlElement(ElementName = "Emp_date_office")]
        public virtual DateTime Emp_date_office
        {
            get
            {
                return this.m_emp_date_office;
            }
            set
            {
                this.m_emp_date_office = value;
            }
        }

        [XmlElement(ElementName = "Emp_specialsub")]
        public virtual string Emp_specialsub
        {
            get
            {
                return this.m_emp_specialsub;
            }
            set
            {
                this.m_emp_specialsub = value;
            }
        }

        [XmlElement(ElementName = "Emp_special")]
        public virtual string Emp_special
        {
            get
            {
                return this.m_emp_special;
            }
            set
            {
                this.m_emp_special = value;
            }
        }

        [XmlElement(ElementName = "Emp_zw")]
        public virtual string Emp_zw
        {
            get
            {
                return this.m_emp_zw;
            }
            set
            {
                this.m_emp_zw = value;
            }
        }

        [XmlElement(ElementName = "Date_reg")]
        public virtual DateTime Date_reg
        {
            get
            {
                return this.m_date_reg;
            }
            set
            {
                this.m_date_reg = value;
            }
        }

        [XmlElement(ElementName = "Emp_reg")]
        public virtual string Emp_reg
        {
            get
            {
                return this.m_emp_reg;
            }
            set
            {
                this.m_emp_reg = value;
            }
        }

        [XmlElement(ElementName = "Emp_memo")]
        public virtual string Emp_memo
        {
            get
            {
                return this.m_emp_memo;
            }
            set
            {
                this.m_emp_memo = value;
            }
        }

        [XmlElement(ElementName = "Emp_duty")]
        public virtual string Emp_duty
        {
            get
            {
                return this.m_emp_duty;
            }
            set
            {
                this.m_emp_duty = value;
            }
        }

        [XmlElement(ElementName = "Flag_delete")]
        public virtual string Flag_delete
        {
            get
            {
                return this.m_flag_delete;
            }
            set
            {
                this.m_flag_delete = value;
            }
        }

        [XmlElement(ElementName = "Emp_blood")]
        public virtual string Emp_blood
        {
            get
            {
                return this.m_emp_blood;
            }
            set
            {
                this.m_emp_blood = value;
            }
        }

        [XmlElement(ElementName = "Emp_bzdm")]
        public virtual string Emp_bzdm
        {
            get
            {
                return this.m_emp_bzdm;
            }
            set
            {
                this.m_emp_bzdm = value;
            }
        }

        [XmlElement(ElementName = "Date_ht_qs")]
        public virtual DateTime Date_ht_qs
        {
            get
            {
                return this.m_date_ht_qs;
            }
            set
            {
                this.m_date_ht_qs = value;
            }
        }

        [XmlElement(ElementName = "Date_ht_jz")]
        public virtual DateTime Date_ht_jz
        {
            get
            {
                return this.m_date_ht_jz;
            }
            set
            {
                this.m_date_ht_jz = value;
            }
        }

        [XmlElement(ElementName = "Emp_work_tel")]
        public virtual string Emp_work_tel
        {
            get
            {
                return this.m_emp_work_tel;
            }
            set
            {
                this.m_emp_work_tel = value;
            }
        }

        [XmlElement(ElementName = "Emp_work_fax")]
        public virtual string Emp_work_fax
        {
            get
            {
                return this.m_emp_work_fax;
            }
            set
            {
                this.m_emp_work_fax = value;
            }
        }

        [XmlElement(ElementName = "E_mail")]
        public virtual string E_mail
        {
            get
            {
                return this.m_e_mail;
            }
            set
            {
                this.m_e_mail = value;
            }
        }

        [XmlElement(ElementName = "Emp_comp_level")]
        public virtual string Emp_comp_level
        {
            get
            {
                return this.m_emp_comp_level;
            }
            set
            {
                this.m_emp_comp_level = value;
            }
        }

        [XmlElement(ElementName = "Emp_pic")]
        public virtual string Emp_pic
        {
            get
            {
                return this.m_emp_pic;
            }
            set
            {
                this.m_emp_pic = value;
            }
        }

        [XmlElement(ElementName = "Pact_zt")]
        public virtual decimal Pact_zt
        {
            get
            {
                return this.m_pact_zt;
            }
            set
            {
                this.m_pact_zt = value;
            }
        }

        [XmlElement(ElementName = "Emp_safety")]
        public virtual decimal Emp_safety
        {
            get
            {
                return this.m_emp_safety;
            }
            set
            {
                this.m_emp_safety = value;
            }
        }

        [XmlElement(ElementName = "Emp_zc")]
        public virtual string Emp_zc
        {
            get
            {
                return this.m_emp_zc;
            }
            set
            {
                this.m_emp_zc = value;
            }
        }

        [XmlElement(ElementName = "Emp_duty_card")]
        public virtual string Emp_duty_card
        {
            get
            {
                return this.m_emp_duty_card;
            }
            set
            {
                this.m_emp_duty_card = value;
            }
        }

        [XmlElement(ElementName = "Pay_grade")]
        public virtual string Pay_grade
        {
            get
            {
                return this.m_pay_grade;
            }
            set
            {
                this.m_pay_grade = value;
            }
        }

        [XmlElement(ElementName = "Emp_pic_blob")]
        public virtual byte[] Emp_pic_blob
        {
            get
            {
                return this.m_emp_pic_blob;
            }
            set
            {
                this.m_emp_pic_blob = value;
            }
        }

        /// <summary>
        /// 所属部门。
        /// </summary>
        public virtual Department Department
        {
            get { return _department; }
            set { _department = value; }
        }

        #endregion

    }
}
